{ "openapi": "3.0.0", "info": { "title": "Catalog API - Seller Portal", "description": "With the Catalog API for Seller Portal, you will be able to create, edit and consult products and their variations, brands, and categories.\r\n\r\n>ℹ️ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests).\r\n\r\n## Index\r\n\r\n### Product\r\n\r\n- `GET` [Get Product by ID](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/products/-productId-)\r\n- `PUT` [Update Product](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#put-/api/catalog-seller-portal/products/-productId-)\r\n- `GET` [Get Product Description by Product ID](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/products/-productId-/description)\r\n- `PUT` [Update Product Description by Product ID](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#put-/api/catalog-seller-portal/products/-productId-/description)\r\n- `GET` [Get Product by external ID, SKU ID, SKU external ID or slug](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/products/-param-)\r\n- `POST` [Create Product](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#post-/api/catalog-seller-portal/products)\r\n\r\n### SKU\r\n\r\n- `GET` [Search for SKU](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/skus/_search)\r\n- `GET` [Get List of SKUs](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/skus/ids)\r\n\r\n### Brand\r\n\r\n- `GET` [Get List of Brands](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/brands)\r\n- `POST` [Create a Brand](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#post-/api/catalog-seller-portal/brands)\r\n- `GET` [Get Brand by ID](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/brands/-brandId-)\r\n- `PUT` [Update Brand](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#put-/api/catalog-seller-portal/brands/-brandId-)\r\n\r\n### Category\r\n\r\n- `GET` [Get Category Tree](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/category-tree)\r\n- `PUT` [Update Category Tree](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#put-/api/catalog-seller-portal/category-tree)\r\n- `GET` [Get Category by ID](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#get-/api/catalog-seller-portal/category-tree/categories/-categoryId-)\r\n- `POST` [Create a Category](https://developers.vtex.com/docs/api-reference/catalog-api-seller-portal#post-/api/catalog-seller-portal/category-tree/categories)", "contact": {}, "version": "" }, "servers": [ { "url": "https://{accountName}.{environment}.com.br", "description": "VTEX server URL.", "variables": { "accountName": { "description": "Name of the VTEX account. Used as part of the URL.", "default": "apiexamples" }, "environment": { "description": "Environment to use. Used as part of the URL.", "enum": [ "vtexcommercestable" ], "default": "vtexcommercestable" } } } ], "paths": { "/api/catalog-seller-portal/products/{productId}": { "get": { "tags": [ "Product" ], "summary": "Get product by ID", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a product by its ID. The response also has information about the product's SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProduct", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "productId", "in": "path", "description": "Product unique identifier number.", "required": true, "schema": { "type": "string", "example": "189371" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "id": "189371", "status": "active", "name": "VTEX 10 Shirt", "brandId": "1", "description": "Description data for product.", "brandName": "AOC", "categoryIds": [ "732" ], "categoryNames": [ "/sandboxintegracao/AcessΓ³rios/" ], "specs": [ { "name": "Color", "values": [ "Black", "White" ] }, { "name": "Size", "values": [ "S", "M", "L" ] } ], "attributes": [ { "name": "Fabric", "value": "Cotton" }, { "name": "Gender", "value": "Feminine" } ], "slug": "/vtex-shirt", "images": [ { "id": "vtex_logo.jpg", "url": "https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg", "alt": "VTEX" } ], "skus": [ { "id": "182907", "externalId": "1909621862", "manufacturerCode": "1234567", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "RealWeight": 300, "RealDimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "images": [ "vtex_logo.jpg" ] }, { "id": "182908", "externalId": "1909621862", "manufacturerCode": "1234568", "isActive": true, "weight": 300, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "White" }, { "name": "Size", "value": "L" } ], "images": [ "vtex_logo.jpg" ] } ], "transportModal": "123", "taxCode": "100", "origin": "vtxleo7778", "createdAt": "2022-10-31T16:28:25.578067Z", "updatedAt": "2022-10-31T17:09:12.639088Z" }, "schema": { "type": "object", "required": [ "status", "name", "brandId", "brandName", "categoryIds", "categoryNames", "specs", "attributes", "slug", "images", "skus", "origin", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string", "description": "Product's unique identifier number." }, "externalId": { "type": "string", "description": "Product reference unique identifier number in the store." }, "status": { "type": "string", "description": "Status of the product. Its values can be `active` or `inactive`." }, "name": { "type": "string", "description": "Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit." }, "brandId": { "type": "string", "description": "Product's brand unique identifier number." }, "description":{ "type":"string", "description": "Description data for product." }, "brandName": { "type": "string", "description": "Name of the brand associated with the product." }, "categoryIds": { "type": "array", "description": "Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.", "items": { "type": "string", "description": "Product's category unique identifier number." } }, "categoryNames": { "type": "array", "description": "Names of the product's categories, displayed in a path format.", "items": { "type": "string", "description": "Name of the product's category." } }, "specs": { "type": "array", "description": "Specifications that will differentiate the possible product SKUs.", "items": { "type": "object", "description": "SKU specifications.", "required": [ "name", "values" ], "properties": { "name": { "type": "string", "description": "Specification name." }, "values": { "type": "array", "description": "Specification values.", "items": { "type": "string", "description": "Specification value." } } } } }, "attributes": { "type": "array", "description": "Attributes of the product. Attributes are additional properties used to create site browsing filters.", "items": { "type": "object", "description": "Product attribute.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Attribute name." }, "value": { "type": "string", "description": "Attribute value." } } } }, "slug": { "type": "string", "description": "Reference of the product in the URL of the store." }, "images": { "type": "array", "description": "Information of the images of the product.", "items": { "type": "object", "description": "Information of the images of the product.", "required": [ "id", "url" ], "properties": { "id": { "type": "string", "description": "Image ID." }, "url": { "type": "string", "description": "Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images)." }, "alt": { "type": "string", "description": "Image alternative description." } } } }, "skus": { "type": "array", "description": "SKUs of the product.", "items": { "type": "object", "description": "Informations about an SKU.", "required": [ "id", "isActive", "weight", "dimensions", "specs", "images" ], "properties": { "id": { "type": "string", "description": "SKU unique identifier number." }, "externalId": { "type": "string", "description": "Unique reference code created to improve the store's organization." }, "ean": { "type": "string", "description": "Unique SKU identification code (barcode), composed of up to 13 numeric characters." }, "manufacturerCode": { "type": "string", "description": "SKU reference code in the store." }, "isActive": { "type": "boolean", "description": "If the SKU is active (`true`) or inactive (`false`)." }, "weight": { "type": "integer", "description": "SKU weight. It can be lighter than 1000 g." }, "dimensions": { "type": "object", "description": "SKU dimensions.", "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "SKU width." }, "height": { "type": "number", "description": "SKU height." }, "length": { "type": "number", "description": "SKU length." } } }, "RealWeight": { "type": "number", "description": "The product's real weight." }, "RealDimensions": { "type": "object", "description": "The product's real dimensions.", "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "The product's real width." }, "height": { "type": "number", "description": "The product's real height." }, "length": { "type": "number", "description": "The product's real length." } } }, "specs": { "type": "array", "description": "SKU specifications. This field is mandatory, but nullable if there is only one SKU.", "nullable": true, "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "SKU's specification name." }, "value": { "type": "string", "description": "SKU's specification values." } } } }, "images": { "type": "array", "description": "SKU's images IDs.", "items":{ "description": "SKU image ID.", "type": "string" } } } } }, "transportModal": { "type": "string", "description": "Transport modal of the product.", "nullable": true }, "taxCode": { "type": "string", "description": "Product tax code.", "nullable": true }, "origin": { "type": "string", "description": "Origin account of the product. It is not possible to alter products where the origin is `marketplace`." }, "createdAt": { "type": "string", "description": "Date when the product was created." }, "updatedAt": { "type": "string", "description": "Last date when the product was updated." } } } } } } } }, "put": { "tags": [ "Product" ], "summary": "Update product", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates an existing product and its SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PutProduct", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "productId", "in": "path", "description": "Product unique identifier number.", "required": true, "schema": { "type": "string", "example": "189371" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "status", "name", "brandId", "categoryIds", "specs", "attributes", "slug", "images", "skus", "origin" ], "properties": { "id": { "type": "string", "description": "Product's unique identifier number.", "example": "189371" }, "externalId": { "type": "string", "description": "Product reference unique identifier number in the store.", "example": "sandboxintegracao-310117347" }, "status": { "type": "string", "description": "Status of the product. Its values can be `active` or `inactive`.", "example": "active" }, "name": { "type": "string", "description": "Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.", "example": "Camiseta VTEX 10" }, "brandId": { "type": "string", "description": "Product's brand unique identifier number.", "example": "1" }, "description":{ "type":"string", "description": "New description data for SKU/product.", "example": "VTEX Shirt Black Size S Long Sleeze." }, "categoryIds": { "type": "array", "description": "Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.", "example": [ "732", "412" ], "items": { "type": "string", "description": "Product's category unique identifier number.", "example": "732" } }, "specs": { "type": "array", "description": "Specifications that will differentiate the possible product SKUs.", "example": [ { "name": "Color", "values": [ "Black", "White" ] }, { "name": "Size", "values": [ "S", "M", "L" ] } ], "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "values" ], "properties": { "name": { "type": "string", "description": "Specification name.", "example": "Color" }, "values": { "type": "array", "description": "Specification values.", "items": { "type": "string", "description": "Specification value.", "example": "black" } } } } }, "attributes": { "type": "array", "description": "Attributes of the product. Attributes are additional properties used to create site browsing filters.", "example": [ { "name": "Fabric", "value": "Cotton" }, { "name": "Gender", "value": "Feminine" } ], "items": { "type": "object", "description": "Product attribute.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Attribute name.", "example": "Fabric" }, "value": { "type": "string", "description": "Attribute value.", "example": "Cotton" } } } }, "slug": { "type": "string", "description": "Reference of the product in the URL of the store.", "example": "/vtex-shirt" }, "transportModal": { "type": "string", "description": "Transport modal of the product.", "example": "1", "nullable": true }, "taxCode": { "type": "string", "description": "Product tax code.", "example": "123", "nullable": true }, "images": { "type": "array", "description": "Information of the images of the product.", "example": [ { "id": "vtex_logo.jpg", "url": "https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg", "alt": "imagem" } ], "items": { "type": "object", "description": "Image information.", "required": [ "id", "url" ], "properties": { "id": { "type": "string", "description": "Image ID.", "example": "vtex_logo.jpg" }, "url": { "type": "string", "description": "Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).", "example": "https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg" }, "alt": { "type": "string", "description": "Image alternative description.", "example": "imagem" } } } }, "skus": { "type": "array", "description": "SKUs of the product.", "example": [ { "id": "182907", "name": "VTEX Shirt Black Size S", "externalId": "1909621862", "ean": "978-1909621862", "manufacturerCode": "1234567", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "RealWeight": 1.6, "RealDimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "images": [ "vtex_logo.jpg" ] }, { "id": "182908", "name": "VTEX Shirt White Size L", "externalId": "1909621862", "ean": "978-1909621862", "manufacturerCode": "1234568", "isActive": true, "weight": 300, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "White" }, { "name": "Size", "value": "L" } ], "images": [ "vtex_logo.jpg" ] } ], "items": { "type": "object", "description": "SKU information.", "required": [ "isActive", "weight", "dimensions", "specs", "images" ], "properties": { "id": { "type": "string", "description": "SKU unique identifier number. Do not include this field when adding a new SKU, only when editing existing SKUs.", "example": "182907" }, "name": { "type": "string", "description": "SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.", "example": "VTEX Shirt Black Size S" }, "externalId": { "type": "string", "description": "Unique reference code created to improve the store's organization.", "example": "1909621862" }, "description":{ "type": "string", "description":"New description data for SKU or product.", "example": "Beautiful black shirt. Size: small." }, "ean": { "type": "string", "description": "Unique SKU identification code (barcode), composed of up to 13 numeric characters.", "example": "978-1909621862" }, "manufacturerCode": { "type": "string", "description": "SKU reference code in the store.", "example": "1234567" }, "isActive": { "type": "boolean", "description": "Defines if the SKU is active (`true`) or inactive (`false`).", "example": false }, "weight": { "type": "integer", "description": "SKU weight. It can be lighter than 1000 g.", "example": 300 }, "dimensions": { "type": "object", "description": "SKU dimensions.", "example": { "width": 1.5, "height": 2.1, "length": 1.6 }, "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "SKU width.", "example": 1.5 }, "height": { "type": "number", "description": "SKU height.", "example": 2.1 }, "length": { "type": "number", "description": "SKU length.", "example": 1.6 } } }, "RealWeight":{ "type":"number", "description": "The product's real weight.", "example": 1.6 }, "RealDimensions":{ "type":"object", "description":"The product's real dimensions.", "required": [ "width", "height", "length" ], "properties":{ "width":{ "type":"number", "description":"The product's real width.", "example":1.5 }, "height":{ "type":"number", "description":"The product's real height.", "example": 2.1 }, "length":{ "type":"number", "description":"The product's real length.", "example": 1.6 } } }, "specs": { "type": "array", "description": "SKU specifications. This field is mandatory, but nullable if there is only one SKU.", "nullable": true, "example": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "items": { "type": "object", "description": "SKU specification information.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "SKU's specification name.", "example": "Color" }, "value": { "type": "string", "description": "SKU's specification values.", "example": "Black" } } } }, "images": { "type": "array", "description": "Array of SKU images IDs.", "items": { "type": "string", "description": "SKU image ID.", "example": "vtex_logo.jpg" } } } } }, "origin": { "type": "string", "description": "Origin account of the product. It is not possible to alter products where the origin is `marketplace`.", "example": "vtxleo7778" } } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/api/catalog-seller-portal/products/{productId}/description": { "get": { "tags": [ "Product" ], "summary": "Get product description by product ID", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center.](https://support.vtex.com/hc/en-us/requests) \r\n\r\n Retrieves the description of a product given a product ID.\r\n\r\n ## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProductDescription", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "productId", "in": "path", "description": "Product unique identifier number.", "required": true, "schema": { "type": "string", "example": "189371" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "productId": "61", "description": "Beautifully handmade laptop case/sleeve made in the Nepal Himalaya. It can be slipped inside your backpack or carried alone with space for all your work bits and pieces!", "createdAt": "2022-10-10T19:18:45.612317Z", "updatedAt": "2022-10-11T18:12:58.825544Z" }, "schema": { "type": "object", "required": [ "productId", "createdAt", "updatedAt" ], "properties": { "productId": { "type": "string", "description": "Product's unique identifier number." }, "createdAt": { "type": "string", "description": "Date when the brand was created." }, "updatedAt": { "type": "string", "description": "Last date when the brand was updated." } } } } } } } }, "put": { "tags": [ "Product" ], "summary": "Update product description by product ID", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates the description of a product given a product ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PutProductDescription", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "productId", "in": "path", "description": "Product unique identifier number.", "required": true, "schema": { "type": "string", "example": "71" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "productId", "description" ], "properties": { "productId": { "type": "string", "description": "Product's unique identifier number.", "example": "71" }, "description": { "type": "string", "description": "Product description.", "example": "White shirt." } } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/api/catalog-seller-portal/products/{param}": { "get": { "tags": [ "Product" ], "summary": "Get product by external ID, SKU ID, SKU external ID or slug", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a product by its external ID, SKU ID, SKU external ID or product slug. The response also has information about the product's SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetProductQuery", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "param", "in": "path", "description": "This part of the path must follow this format: `{param}={value}`. Replace `{param}` with the name of the parameter used to fetch a product, which can be one of the following: `external-id` (product reference unique identifier number in the store), `sku-id` (SKU unique identifier number), `sku-external-id` (SKU reference unique identifier number in the store) or `slug` (reference of the product in the URL of the store). Replace `{value}` with the value of the selected param. Make sure there is a `=` between them.", "required": true, "schema": { "type": "string", "example": "external-id=189371" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "id": "189371", "status": "active", "name": "VTEX 10 Shirt", "brandId": "1", "brandName": "AOC", "categoryIds": [ "732" ], "categoryNames": [ "/Men/Acessories/" ], "specs": [ { "name": "Color", "values": [ "Black", "White" ] }, { "name": "Size", "values": [ "S", "M", "L" ] } ], "attributes": [ { "name": "Fabric", "value": "Cotton" }, { "name": "Gender", "value": "Feminine" } ], "slug": "/vtex-shirt", "images": [ { "id": "vtex_logo.jpg", "url": "https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg", "alt": "VTEX" } ], "skus": [ { "id": "182907", "name": "VTEX Shirt Black Size S", "externalId": "1909621862", "manufacturerCode": "1234567", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "RealWeight": 1.6, "RealDimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "images": [ "vtex_logo.jpg" ] }, { "id": "182908", "name": "VTEX Shirt White Size L", "externalId": "1909621862", "manufacturerCode": "1234568", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "White" }, { "name": "Size", "value": "L" } ], "images": [ "vtex_logo.jpg" ] } ], "transportModal": "123", "taxCode": "100", "origin": "vtxleo7778", "createdAt": "2022-10-31T16:28:25.578067Z", "updatedAt": "2022-10-31T16:28:25.578067Z" }, "schema": { "type": "object", "required": [ "status", "name", "brandId", "brandName", "categoryIds", "categoryNames", "specs", "attributes", "slug", "images", "skus", "origin", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string", "description": "Product's unique identifier number." }, "externalId": { "type": "string", "description": "Product reference unique identifier number in the store." }, "description":{ "type": "string", "description": "Description data for product." }, "status": { "type": "string", "description": "Status of the product. Its values can be `active` or `inactive`." }, "name": { "type": "string", "description": "Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit." }, "brandId": { "type": "string", "description": "Product's brand unique identifier number." }, "brandName": { "type": "string", "description": "Name of the brand associated with the product." }, "categoryIds": { "type": "array", "description": "Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.", "items": { "type": "string", "description": "Product's category unique identifier number." } }, "categoryNames": { "type": "array", "description": "Names of the product's categories, displayed in a path format.", "items": { "type": "string", "description": "Name of the product's category." } }, "specs": { "type": "array", "description": "Specifications that will differentiate the possible product SKUs.", "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "values" ], "properties": { "name": { "type": "string", "description": "Specification name." }, "values": { "type": "array", "description": "Specification values.", "items": { "type": "string", "description": "Specification value." } } } } }, "attributes": { "type": "array", "description": "Attributes of the product. Attributes are additional properties used to create site browsing filters.", "items": { "type": "object", "description": "Product attribute.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Attribute name." }, "value": { "type": "string", "description": "Attribute value." } } } }, "slug": { "type": "string", "description": "Reference of the product in the URL of the store." }, "images": { "type": "array", "description": "Information of the images of the product.", "items": { "type": "object", "description": "Image informations.", "required": [ "id", "url" ], "properties": { "id": { "type": "string", "description": "Image ID." }, "url": { "type": "string", "description": "Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images)." }, "alt": { "type": "string", "description": "Image alternative description." } } } }, "skus": { "type": "array", "description": "SKUs of the product.", "items": { "type": "object", "description": "SKU information.", "required": [ "id", "isActive", "weight", "dimensions", "specs", "images" ], "properties": { "id": { "type": "string", "description": "SKU unique identifier number." }, "externalId": { "type": "string", "description": "Unique reference code created to improve the store's organization." }, "description": { "type":"string", "description": "Description data for product." }, "ean": { "type": "string", "description": "Unique SKU identification code (barcode), composed of up to 13 numeric characters." }, "manufacturerCode": { "type": "string", "description": "SKU reference code in the store." }, "isActive": { "type": "boolean", "description": "If the SKU is active (`true`) or inactive (`false`)." }, "weight": { "type": "integer", "description": "SKU weight. It can be lighter than 1000 g." }, "dimensions": { "type": "object", "description": "SKU dimensions.", "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "SKU width." }, "height": { "type": "number", "description": "SKU height." }, "length": { "type": "number", "description": "SKU length." } } }, "RealWeight":{ "type":"number", "description": "The product's real weight." }, "RealDimensions":{ "type":"object", "description":"The product's real dimensions.", "required": [ "width", "height", "length" ], "properties":{ "width":{ "type":"number", "description":"The product's real width." }, "height":{ "type":"number", "description":"The product's real height." }, "length":{ "type":"number", "description":"The product's real length." } } }, "specs": { "type": "array", "description": "SKU specifications. This field is mandatory, but nullable if there is only one SKU.", "nullable": true, "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "SKU's specification name." }, "value": { "type": "string", "description": "SKU's specification values." } } } }, "images": { "type": "array", "description": "SKU's images IDs.", "items": { "type": "string", "description": "SKU image ID." } } } } }, "transportModal": { "type": "string", "description": "Transport modal of the product." }, "taxCode": { "type": "string", "description": "Product tax code." }, "origin": { "type": "string", "description": "Origin account of the product. It is not possible to alter products where the origin is `marketplace`." }, "createdAt": { "type": "string", "description": "Date when the product was created." }, "updatedAt": { "type": "string", "description": "Last date when the product was updated." } } } } } } } } }, "/api/catalog-seller-portal/products": { "post": { "tags": [ "Product" ], "summary": "Create product", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Creates a new product and its SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PostProduct", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "status", "name", "brandId", "categoryIds", "specs", "attributes", "slug", "images", "skus", "origin" ], "properties": { "externalId": { "type": "string", "description": "Product reference unique identifier number in the store.", "example": "sandboxintegracao-310117347" }, "status": { "type": "string", "description": "Status of the product. Its values can be `active` or `inactive`.", "example": "active" }, "name": { "type": "string", "description": "Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.", "example": "VTEX Shirt" }, "brandId": { "type": "string", "description": "Product's brand unique identifier number.", "example": "1" }, "description": { "type":"string", "description":"Product's data description.", "example": "VTEX Shirt Black Size S." }, "categoryIds": { "type": "array", "description": "Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.", "example": [ "732", "421" ], "items": { "type": "string", "description": "Product's Category unique idenfier number.", "example": "732" } }, "specs": { "type": "array", "description": "Specifications that will differentiate the possible product SKUs.", "example": [ { "name": "Color", "values": [ "Black", "White" ] }, { "name": "Size", "values": [ "S", "M", "L" ] } ], "items": { "type": "object", "description": "Product specification.", "required": [ "name", "values" ], "properties": { "name": { "type": "string", "description": "Specification name.", "example": "Color" }, "values": { "type": "array", "description": "Specification values.", "example": [ "Black", "White" ], "items": { "type": "string", "description": "Specification value.", "example": "Black" } } } } }, "attributes": { "type": "array", "description": "Attributes of the product. Attributes are additional properties used to create site browsing filters.", "example": [ { "name": "Fabric", "value": "Cotton" }, { "name": "Gender", "value": "Feminine" } ], "items": { "type": "object", "description": "Product attribute.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Attribute name.", "example": "Fabric" }, "value": { "type": "string", "description": "Attribute value.", "example": "Cotton" } } } }, "slug": { "type": "string", "description": "Reference of the product in the URL of the store.", "example": "/vtex-shirt" }, "images": { "type": "array", "description": "Information of the images of the product.", "example": [ { "id": "vtex_logo.jpg", "url": "https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg", "alt": "imagem" } ], "items": { "type": "object", "description": "Image information.", "required": [ "id", "url" ], "properties": { "id": { "type": "string", "description": "Image ID.", "example": "vtex_logo.jpg" }, "url": { "type": "string", "description": "Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images).", "example": "https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg" }, "alt": { "type": "string", "description": "Image alternative description.", "example": "imagem" } } } }, "skus": { "type": "array", "description": "SKUs of the product.", "example": [ { "name": "VTEX Shirt Black Size S", "externalId": "1909621862", "ean": "978-1909621862", "manufacturerCode": "1234567", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "RealWeight": 1.6, "RealDimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "images": [ "https://mystore.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg" ] }, { "name": "VTEX Shirt White Size L", "externalId": "1909621862", "ean": "978-1909621862", "manufacturerCode": "1234568", "isActive": true, "weight": 300, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "White" }, { "name": "Size", "value": "L" } ], "images": [ "vtex_logo.jpg" ] } ], "items": { "type": "object", "description": "SKU information.", "required": [ "name", "isActive", "weight", "dimensions", "specs", "images" ], "properties": { "name": { "type": "string", "description": "SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit.", "example": "VTEX Shirt Black Size S." }, "externalId": { "type": "string", "description": "Unique reference code created to improve the store's organization.", "example": "1909621862" }, "description":{ "type":"string", "description":"SKU description.", "example":"VTEX Shirt Black Size S Long Sleeze." }, "ean": { "type": "string", "description": "Unique SKU identification code (barcode), composed of up to 13 numeric characters.", "example": "978-1909621862" }, "manufacturerCode": { "type": "string", "description": "SKU reference code in the store.", "example": "1234567" }, "isActive": { "type": "boolean", "description": "If the SKU is active (`true`) or inactive (`false`).", "example": false }, "weight": { "type": "integer", "description": "SKU weight. It can be lighter than 1000 g.", "example": 300 }, "dimensions": { "type": "object", "description": "SKU dimensions.", "example": { "width": 1.5, "height": 2.1, "length": 1.6 }, "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "SKU width.", "example": 1.5 }, "height": { "type": "number", "description": "SKU height.", "example": 2.1 }, "length": { "type": "number", "description": "SKU length.", "example": 1.6 } } }, "RealWeight":{ "type":"number", "description": "The product's real weight.", "example": 1.6 }, "RealDimensions":{ "type":"object", "description":"The product's real dimensions.", "required": [ "width", "height", "length" ], "properties":{ "width":{ "type":"number", "description":"The product's real width.", "example":1.5 }, "height":{ "type":"number", "description":"The product's real height.", "example": 2.1 }, "length":{ "type":"number", "description":"The product's real length.", "example": 1.6 } } }, "specs": { "type": "array", "description": "SKU specifications. This field is mandatory, but nullable if there is only one SKU.", "nullable": true, "example": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "SKU's specification name.", "example": "Color" }, "value": { "type": "string", "description": "SKU's specification values.", "example": "Black" } } } }, "images": { "type": "array", "description": "List of SKU images IDs.", "items": { "type": "string", "description": "SKU image ID.", "example": "vtex_logo.jpg" } } } } }, "origin": { "type": "string", "description": "Origin account of the product. It is not possible to alter products where the origin is `marketplace`.", "example": "vtxleo7778" }, "transportModal": { "type": "string", "description": "Transport modal of the product.", "example": "1", "nullable": true }, "taxCode": { "type": "string", "description": "Product tax code.", "example": "123", "nullable": true } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "id": "189371", "status": "active", "name": "VTEX 10 Shirt", "brandId": "1", "brandName": "AOC", "categoryIds": [ "732" ], "categoryNames": [ "/sandboxintegracao/AcessΓ³rios/" ], "specs": [ { "name": "Color", "values": [ "Black", "White" ] }, { "name": "Size", "values": [ "S", "M", "L" ] } ], "attributes": [ { "name": "Fabric", "value": "Cotton" }, { "name": "Gender", "value": "Feminine" } ], "slug": "/vtex-shirt", "transportModal": null, "taxCode": null, "images": [ { "id": "vtex_logo.jpg", "url": "https://vtxleo7778.vtexassets.com/assets/vtex.catalog-images/products/vtex_logo.jpg", "alt": "VTEX" } ], "skus": [ { "id": "182907", "externalId": "1909621862", "manufacturerCode": "1234567", "isActive": true, "weight": 12, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "RealWeight": 1.6, "RealDimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "Black" }, { "name": "Size", "value": "S" } ], "images": [ "vtex_logo.jpg" ] }, { "id": "182908", "externalId": "1909621862", "manufacturerCode": "1234568", "isActive": true, "weight": 300, "dimensions": { "width": 1.5, "height": 2.1, "length": 1.6 }, "specs": [ { "name": "Color", "value": "White" }, { "name": "Size", "value": "L" } ], "images": [ "vtex_logo.jpg" ] } ], "origin": "vtxleo7778", "createdAt": "2021-01-18T14:41:45.696488+00:00", "updatedAt": "2021-01-18T14:41:45.696488+00:00" }, "schema": { "type": "object", "required": [ "status", "name", "brandId", "brandName", "categoryIds", "categoryNames", "specs", "attributes", "slug", "images", "skus", "origin", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string", "description": "Product's unique identifier number." }, "externalId": { "type": "string", "description": "Product reference unique identifier number in the store." }, "status": { "type": "string", "description": "Status of the product. Its values can be `active` or `inactive`." }, "name": { "type": "string", "description": "Product name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit." }, "brandId": { "type": "string", "description": "Product's brand unique identifier number." }, "brandName": { "type": "string", "description": "Name of the brand associated with the product." }, "description":{ "type":"string", "description":"Description data for product." }, "categoryIds": { "type": "array", "description": "Product's categories unique identifier numbers. It can have multiples IDs for each category and subcategories.", "items": { "type": "string", "description": "Product's category unique identifier number." } }, "categoryNames": { "type": "array", "description": "Names of the product's categories, displayed in a path format.", "items": { "type": "string", "description": "Name of the product's category." } }, "specs": { "type": "array", "description": "Specifications that will differentiate the possible product SKUs.", "items": { "type": "object", "description": "Product specification.", "required": [ "name", "values" ], "properties": { "name": { "type": "string", "description": "Specification name." }, "values": { "type": "array", "description": "Specification values.", "items": { "type": "string", "description": "Specification value." } } } } }, "attributes": { "type": "array", "description": "Array of product attributes. Attributes are additional properties used to create site browsing filters.", "items": { "type": "object", "description": "Product attribute information.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "Attribute name." }, "value": { "type": "string", "description": "Attribute value." } } } }, "slug": { "type": "string", "description": "Reference of the product in the URL of the store." }, "images": { "type": "array", "description": "Information of the images of the product.", "items": { "type": "object", "description": "Image information.", "required": [ "id", "url" ], "properties": { "id": { "type": "string", "description": "Image ID." }, "url": { "type": "string", "description": "Image URL, which must be in the following format: `https://{accountName}.vtexassets.com/assets/{path}`, saved using the [Catalog Images app](https://developers.vtex.com/vtex-developer-docs/docs/vtex-catalog-images)." }, "alt": { "type": "string", "description": "Image alternative description." } } } }, "skus": { "type": "array", "description": "SKUs of the product.", "items": { "type": "object", "description": "SKU information.", "required": [ "id", "isActive", "weight", "dimensions", "specs", "images" ], "properties": { "id": { "type": "string", "description": "SKU unique identifier number." }, "name": { "type": "string", "description": "SKU name. Use simple words and avoid other languages or complex writing. This field is essential for SEO and must respect the 150 character limit." }, "externalId": { "type": "string", "description": "Unique reference code created to improve the store's organization." }, "ean": { "type": "string", "description": "Unique SKU identification code (barcode), composed of up to 13 numeric characters." }, "manufacturerCode": { "type": "string", "description": "SKU reference code in the store." }, "isActive": { "type": "boolean", "description": "If the SKU is active (`true`) or inactive (`false`)." }, "weight": { "type": "integer", "description": "SKU weight. It can be lighter than 1000 g." }, "dimensions": { "type": "object", "description": "SKU dimensions.", "required": [ "width", "height", "length" ], "properties": { "width": { "type": "number", "description": "SKU width." }, "height": { "type": "number", "description": "SKU height." }, "length": { "type": "number", "description": "SKU length." } } }, "RealWeight":{ "type":"number", "description": "The product's real weight.", "example": 1.6 }, "RealDimensions":{ "type":"object", "description":"The product's real dimensions.", "required": [ "width", "height", "length" ], "properties":{ "width":{ "type":"number", "description":"The product's real width." }, "height":{ "type":"number", "description":"The product's real height." }, "length":{ "type":"number", "description":"The product's real length." } } }, "specs": { "type": "array", "description": "SKU specifications. This field is mandatory, but nullable if there is only one SKU.", "nullable": true, "items": { "type": "object", "description": "SKU specification.", "required": [ "name", "value" ], "properties": { "name": { "type": "string", "description": "SKU's specification name." }, "value": { "type": "string", "description": "SKU's specification values." } } } }, "images": { "type": "array", "description": "SKU's images IDs.", "items":{ "description": "SKU image ID.", "type": "string" } } } } }, "origin": { "type": "string", "description": "Origin account of the product. It is not possible to alter products where the origin is `marketplace`." }, "transportModal": { "type": "string", "description": "Transport modal of the product.", "nullable": true }, "taxCode": { "type": "string", "description": "Product tax code.", "nullable": true }, "createdAt": { "type": "string", "description": "Date when the product was created." }, "updatedAt": { "type": "string", "description": "Last date when the product was updated." } } } } } }, "204": { "description": "No Content" } } } }, "/api/catalog-seller-portal/skus/_search": { "get": { "tags": [ "SKU" ], "summary": "Search for SKU", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about an SKU taking into consideration the defined search criteria. It is mandatory to use at least one query parameter.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "SearchSKU", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "from", "in": "query", "description": "The first page of the interval of the product list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "1" } }, { "name": "to", "in": "query", "description": "The last page of the interval of the product list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "50" } }, { "name": "id", "in": "query", "description": "SKU unique idenfier number.", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "example": 1 } }, { "name": "externalid", "in": "query", "description": "SKU reference unique identifier number in the store.", "required": false, "style": "form", "explode": true, "schema": { "type": "integer", "example": 123456789 } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "data": [ { "id": "2", "productId": "2", "externalId": "1909621862" } ], "_metadata": { "total": 1, "from": 1, "to": 15 } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "description": "List with information about the SKUs.", "items": { "type": "object", "description": "SKU information", "properties": { "id": { "type": "string", "description": "SKU unique identifier number." }, "productId": { "type": "string", "description": "Product unique identifier number." }, "externalId": { "type": "string", "description": "Unique identifier number of the association of the SKU with a Franchise Account." } } } }, "_metadata": { "type": "object", "description": "Information about the organization and exhibition of the SKU list.", "properties": { "total": { "type": "integer", "description": "Total of SKUs on the list." }, "from": { "type": "integer", "description": "The first page of the interval of the SKU list." }, "to": { "type": "integer", "description": "The last page of the interval of the SKU list." } } } } } } } } } } }, "/api/catalog-seller-portal/skus/ids": { "get": { "tags": [ "SKU" ], "summary": "Get list of SKUs", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about all SKUs.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Product Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "ListSKU", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "from", "in": "query", "description": "The first page of the interval of the product list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "1" } }, { "name": "to", "in": "query", "description": "The last page of the interval of the product list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "50" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "data": [ "1", "2" ], "_metadata": { "total": 2, "from": 1, "to": 5 } }, "schema": { "type": "object", "properties": { "data": { "type": "array", "description": "List with information about the SKU.", "items": { "type": "string", "description": "SKU unique identifier number." } }, "_metadata": { "type": "object", "description": "Information about the organization and exhibition of the SKU list.", "properties": { "total": { "type": "integer", "description": "Total of SKUs on the list." }, "from": { "type": "integer", "description": "The first page of the interval of the SKU list." }, "to": { "type": "integer", "description": "The last page of the interval of the SKU list." } } } } } } } } } } }, "/api/catalog-seller-portal/brands": { "get": { "tags": [ "Brand" ], "summary": "Get list of brands", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about all brands of the store. It is mandatory to use at least one query parameter.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Brand Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "ListBrand", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "q", "in": "query", "description": "Search word.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "tshirt" } }, { "name": "from", "in": "query", "description": "The first page of the interval of the brand list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "1" } }, { "name": "to", "in": "query", "description": "The last page of the interval of the brand list.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "50" } }, { "name": "orderBy", "in": "query", "description": "The order that the list is displayed. You can select `name`, or `updated_at` to select the order criteria. Then you can add `,` , `asc` or `desc` to define the brands order.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "status,asc;name,asc" } }, { "name": "name", "in": "query", "description": "Brand name.", "required": false, "style": "form", "explode": true, "schema": { "type": "string", "example": "Zwilling" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "data": [ { "id": "863", "name": "Zwilling", "isActive": false, "createdAt": "2021-01-18T14:41:45.696488+00:00", "updatedAt": "2021-01-18T14:41:45.696488+00:00" }, { "id": "1298", "name": "Zooz Pets", "isActive": false, "createdAt": "2021-01-18T14:45:32.900176+00:00", "updatedAt": "2021-01-18T14:45:32.900176+00:00" } ], "_metadata": { "total": 1399, "from": 1, "to": 10, "orderBy": "name,desc" } }, "schema": { "type": "object", "required": [ "data", "_metadata" ], "properties": { "data": { "type": "array", "description": "List with information about the store's brands.", "items": { "type": "object", "description": "Brand information.", "required": [ "id", "name", "isActive", "createdAt", "updatedAt" ], "properties": { "id": { "type": "string", "description": "Brand unique identifier number." }, "name": { "type": "string", "description": "Brand name." }, "isActive": { "type": "boolean", "description": "The condition defines if the brand is active (`true`) or inactive (`false`)." }, "createdAt": { "type": "string", "description": "Date when the brand was created." }, "updatedAt": { "type": "string", "description": "Last date when the brand was updated." } } } }, "_metadata": { "type": "object", "description": "Information about the organization and exhibition of the brand list.", "required": [ "total", "from", "to", "orderBy" ], "properties": { "total": { "type": "integer", "description": "Total of brands on the list." }, "from": { "type": "integer", "description": "The first page of the interval of the brand list." }, "to": { "type": "integer", "description": "The last page of the interval of the brand list." }, "orderBy": { "type": "string", "description": "The order that the list is displayed. You can select `name`, or `updated_at` to select the order criteria. Then you can add `,` , `asc` or `desc` to define the brands order." } } } } } } } } } }, "post": { "tags": [ "Brand" ], "summary": "Create brand", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Creates a new brand.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Brand Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PostBrand", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "name", "isActive" ], "properties": { "name": { "type": "string", "description": "Brand name.", "example": "Zwilling" }, "isActive": { "type": "boolean", "description": "The condition defines if the brand is active (`true`) or inactive (`false`).", "example": true } } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "id": "863", "name": "Zwilling", "isActive": true, "createdAt": "2021-05-17T15:20:36.077253+00:00", "updatedAt": "2021-01-18T14:41:45.696488+00:00" }, "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "Brand unique identifier number." }, "name": { "type": "string", "description": "Brand name." }, "isActive": { "type": "boolean", "description": "The condition defines if the brand is active (`true`) or inactive (`false`)." }, "createdAt": { "type": "string", "description": "Date when the brand was created." }, "updatedAt": { "type": "string", "description": "Last date when the brand was updated." } } } } } } } } }, "/api/catalog-seller-portal/brands/{brandId}": { "get": { "tags": [ "Brand" ], "summary": "Get brand by ID", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a brand by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Brand Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetBrand", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "brandId", "in": "path", "description": "Brand unique identifier number.", "required": true, "schema": { "type": "string", "example": "863" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "id": "863", "name": "Zwilling", "isActive": false, "createdAt": "2021-01-18T14:41:45.696488+00:00", "updatedAt": "2021-01-18T14:41:45.696488+00:00" }, "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "Brand unique identifier number." }, "name": { "type": "string", "description": "Brand name." }, "isActive": { "type": "boolean", "description": "The condition defines if the brand is active (`true`) or inactive (`false`)." }, "createdAt": { "type": "string", "description": "Date when the brand was created." }, "updatedAt": { "type": "string", "description": "Last date when the brand was updated." } } } } } } } }, "put": { "tags": [ "Brand" ], "summary": "Update brand", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates an existing brand.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Brand Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "PutBrand", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "brandId", "in": "path", "description": "Brand unique identifier number.", "required": true, "schema": { "type": "string", "example": "20" } } ], "requestBody": { "content": { "application/json": { "example": { "id": "20", "name": "Zwilling", "isActive": true }, "schema": { "type": "object", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Brand unique identifier number.", "example": "20" }, "name": { "type": "string", "description": "Brand name.", "example": "Zwilling" }, "isActive": { "type": "boolean", "description": "The condition defines if the brand is active (`true`) or inactive (`false`).", "example": true } } } } } }, "responses": { "204": { "description": "No Content" } } } }, "/api/catalog-seller-portal/category-tree": { "get": { "tags": [ "Category" ], "summary": "Get category tree", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about the category tree from the store.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Category Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "GetCategoryTree", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "depth", "in": "query", "description": "Category tree level.", "required": false, "schema": { "type": "integer", "example": 1 } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "roots": [ { "value": { "id": "2", "name": "Departamento Artesanato", "isActive": true }, "children": [ { "value": { "id": "3", "name": "Artesanato de Barro", "isActive": false }, "children": [ { "value": { "id": "4", "name": "Artesanato de Barro Vermelho", "isActive": false }, "children": [] } ] } ] }, { "value": { "id": "5", "name": "Perfumes", "isActive": false }, "children": [ { "value": { "id": "6", "name": "Perfume Feminino", "isActive": false }, "children": [] }, { "value": { "id": "7", "name": "Perfume Masculino", "isActive": false, "displayOnMenu": false, "score": 0, "filterByBrand": false, "isClickable": false }, "children": [] } ] } ], "createdAt": "2021-08-16T20:57:13.070813Z", "updatedAt": "2022-07-07T14:24:56.416337Z" }, "schema": { "type": "object", "required": [ "roots" ], "properties": { "roots": { "type": "array", "description": "List of all categories of the store.", "items": { "type": "object", "description": "Category information.", "required": [ "value", "children" ], "properties": { "value": { "type": "object", "description": "Object with values of a category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Category unique identifier number." }, "name": { "type": "string", "description": "Category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the category is active (`true`) or inactive (`false`)." } } }, "children": { "type": "array", "description": "List of all children categories of the parent category.", "items": { "type": "object", "description": "Child category information.", "required": [ "value" ], "properties": { "value": { "type": "object", "description": "Object with values of a child category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Child category unique identifier number." }, "name": { "type": "string", "description": "Child category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the child category is active (`true`) or inactive (`false`)." } } } } } } } } }, "createdAt": { "type": "string", "description": "Date when the category tree was created." }, "updatedAt": { "type": "string", "description": "Last date when the category tree was updated." } } } } } } } }, "put": { "tags": [ "Category" ], "summary": "Update category tree", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Updates the existing categories in the category tree.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Category Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "UpdateCategoryTree", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "roots" ], "properties": { "roots": { "type": "array", "description": "List of all categories of the store.", "example": [ { "value": { "id": "1", "name": "sandboxintegracao", "isActive": false }, "children": [ { "value": { "id": "2", "name": "Perfumes", "isActive": false } } ] } ], "items": { "type": "object", "description": "Category information.", "required": [ "value", "children" ], "properties": { "value": { "type": "object", "description": "Object with values of a category.", "example": { "id": "1", "name": "sandboxintegracao", "isActive": false }, "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Category unique identifier number.", "example": "1" }, "name": { "type": "string", "description": "Category name.", "example": "sandboxintegracao" }, "isActive": { "type": "boolean", "description": "The condition defines if the category is active (`true`) or inactive (`false`).", "example": false } } }, "children": { "type": "array", "description": "List of all children categories of the parent category.", "example": [ { "value": { "id": "2", "name": "Perfumes", "isActive": false } } ], "items": { "type": "object", "description": "Child category information.", "example": { "value": { "id": "2", "name": "Perfumes", "isActive": false } }, "required": [ "value" ], "properties": { "value": { "type": "object", "description": "Object with values of a child category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Child category unique identifier number.", "example": "2" }, "name": { "type": "string", "description": "Child category name.", "example": "Perfumes" }, "isActive": { "type": "boolean", "description": "The condition defines if the child category is active (`true`) or inactive (`false`).", "example": false } } } } } } } } } } } } }, "required": true }, "responses": { "204": { "description": "No Content" } }, "deprecated": false } }, "/api/catalog-seller-portal/category-tree/categories/{categoryId}": { "get": { "tags": [ "Category" ], "summary": "Get category by ID", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Retrieves general information about a category by its ID.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Category Read** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "Getbyid", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" }, { "name": "categoryId", "in": "path", "required": true, "description": "Category unique identifier number.", "schema": { "type": "string", "example": "1" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "value": { "id": "1", "name": "sandboxintegracao", "isActive": false }, "children": [ { "value": { "id": "2", "name": "Perfumes", "isActive": false } } ] }, "schema": { "type": "object", "required": [ "value", "children" ], "properties": { "value": { "type": "object", "description": "Object with values of a category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Category unique identifier number." }, "name": { "type": "string", "description": "Category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the category is active (`true`) or inactive (`false`)." } } }, "children": { "type": "array", "description": "List of all children categories of the parent category.", "items": { "type": "object", "description": "Children category information.", "required": [ "value" ], "properties": { "value": { "type": "object", "description": "Object with values of a child category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Child category unique identifier number." }, "name": { "type": "string", "description": "Child category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the child category is active (`true`) or inactive (`false`)." } } } } } } } } } } } } } }, "/api/catalog-seller-portal/category-tree/categories": { "post": { "tags": [ "Category" ], "summary": "Create category", "description": " >πŸ“˜ This API is part of the [Seller Portal Catalog](https://help.vtex.com/en/tutorial/how-the-seller-portal-catalog-works--7pMB6YOt6YQDQQbzFB4Pxp). This functionality is in the Beta stage and can be discontinued at any moment at VTEX's discretion. VTEX will not be responsible for any instabilities caused by its use or discontinuity. If you have any questions, please contact [our Support Center](https://support.vtex.com/hc/en-us/requests). \r\n\r\n Creates a new category.\r\n\r\n## Permissions\r\n\r\nAny user or [application key](https:\/\/developers.vtex.com\/docs\/guides\/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https:\/\/help.vtex.com\/en\/tutorial\/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| CatalogV2 | Management | **Category Write** |\r\n\r\nThere are no applicable [predefined roles](https:\/\/help.vtex.com\/en\/tutorial\/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https:\/\/help.vtex.com\/en\/tutorial\/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https:\/\/developers.vtex.com\/docs\/guides\/authentication).\r\n\r\n>\u2757 To prevent integrations from having excessive permissions, consider the [best practices for managing app keys](https:\/\/help.vtex.com\/en\/tutorial\/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.", "operationId": "CreateCategory", "parameters": [ { "$ref": "#/components/parameters/Content-Type" }, { "$ref": "#/components/parameters/Accept" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "parentId", "Name" ], "properties": { "parentId": { "type": "string", "description": "Parent category unique identifier number.", "example": "567" }, "Name": { "type": "string", "description": "Category name.", "example": "Beauty" } } }, "example": { "parentId": "567", "Name": "Beauty" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "example": { "value": { "id": "1", "name": "Beauty", "isActive": false }, "children": [ { "value": { "id": "2", "name": "Perfumes", "isActive": false } } ] }, "schema": { "type": "object", "required": [ "value", "children" ], "properties": { "value": { "type": "object", "description": "Object with values of a category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Category unique identifier number." }, "name": { "type": "string", "description": "Category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the category is active (`true`) or inactive (`false`)." } } }, "children": { "type": "array", "description": "List of all children categories of the parent category.", "items": { "type": "object", "description": "Category information.", "required": [ "value" ], "properties": { "value": { "type": "object", "description": "Object with values of a child category.", "required": [ "id", "name", "isActive" ], "properties": { "id": { "type": "string", "description": "Child category unique identifier number." }, "name": { "type": "string", "description": "Child category name." }, "isActive": { "type": "boolean", "description": "The condition defines if the child category is active (`true`) or inactive (`false`)." } } } } } } } } } } } }, "deprecated": false } } }, "security": [ { "appKey": [], "appToken": [] }, { "VtexIdclientAutCookie": [] } ], "components": { "securitySchemes": { "appKey": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppKey", "description": "Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "appToken": { "type": "apiKey", "in": "header", "name": "X-VTEX-API-AppToken", "description": "Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys)." }, "VtexIdclientAutCookie": { "type": "apiKey", "in": "header", "name": "VtexIdclientAutCookie", "description": "[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours." } }, "parameters": { "Content-Type": { "name": "Content-Type", "in": "header", "description": "Type of the content being sent.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } }, "Accept": { "name": "Accept", "in": "header", "description": "HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } } } }, "tags": [ { "name": "Product" }, { "name": "SKU" }, { "name": "Brand" }, { "name": "Category" } ] }